1. Field of the Invention
Aspects of the present invention relate to an audio playback device having a function for adjusting a playback speed, and a method thereof. More particularly, aspects of the present invention relate to an audio playback device having a function for adjusting and outputting a playback speed as required by a user, and a method thereof.
2. Description of the Related Art
Usually, audio playback devices such as MP3 players can adjust and output the playback speed of audio according to a user's requirements. For example, if a user uses an MP3 player as a language teaching machine, the user can increase or decrease the playback speed as required. In addition, when exercising or jogging, the tempo of output audio can be adjusted according to the user's jogging pace or exercise rhythm, allowing the MP3 player to be effectively used in such situations.
FIG. 1 is a schematic block diagram illustrating the configuration of a general audio playback device. In FIG. 1, the audio playback device includes a storage unit 10, a decoder 20, a stream processor 30, a playback unit 40, a controller 50, and a manipulation unit 60. The storage unit 10 stores audio data compressed in formats such as a Moving Picture Experts Group (MPEG) format or an audio compression-3 (AC-3) format. The decoder 20 decodes the compression of the audio data stored in the storage unit 10, and converts the audio data into an audio stream of a pulse code modulation (PCM) format (i.e., stream (a)). The stream processor 30 outputs the audio stream of a PCM format (i.e., stream (b)) by modifying an overlapping area of each frame on a time base or by skipping a certain frame of the stream (a). The playback unit 40 converts the audio stream (b) of a PCM format output from the stream processor 30 into an analog audio signal, and amplifies the analog audio signal to a certain volume.
The controller 50 controls the stream processor 30 in accordance with a user command input through the manipulation unit 60 so that the audio stream (a) of a PCM format output from the decoder 20 is output to the audio stream (b) by overlapping or skipping. Consequently, the playback speed of the audio can be adjusted. Moreover, the controller 50 controls the playback unit 40 to adjust the volume of the audio according to a user command.
FIGS. 2A and 2B illustrate methods of adjusting the audio playback speed of a general audio playback device as an example. In FIG. 2A, frames are rearranged on a time base t′ by increasing an overlapped area between the frames on an original time base t using a synchronized overlap and add (SOLA) algorithm, so the audio playback speed increases. In FIG. 2B, frames are rearranged on a time base t′ by skipping frame 3 among the frames on an original time base t using the SOLA algorithm, so the audio playback speed increases.
FIGS. 3A and 3B illustrate the configuration of the stream processor 30 in a general audio playback device. As shown in FIG. 3A, the stream processor 30 includes a sub-band divider 31, a signal processor 33 and a sub-band integrator 35. The sub-band divider 31 divides an input audio stream into sub-bands. In the signal processor 33, for each audio stream separated into sub-bands, each current frame is stored in each input buffer In Band 1, In Band 2, . . . , and In Band N. Each time scale adjuster TSM 1, TSM 2, . . . , and TSM N calculates a correlation between each sub-band by the controller 50, and the calculated correlation is stored in each output buffer Out Band 1, Out Band 2, . . . , and Out Band N. The sub-band integrator 35 integrates each sub-band stored in each output buffer Out Band 1, Out Band 2, . . . , and Out Band N.
As shown in FIG. 3B, the stream processor 30 includes a phase vocoder (not shown), a fast Fourier transform (FFT) unit 32, a phase processor 34, and an inverse fast Fourier transform (IFFT) unit 36. The FFT unit 32 divides an audio stream into frames, performs FFT for each frame, and converts each frame into a spectrum of a frequency area. The phase processor 34 calculates a phase increase of a spectrum between two frames, accumulates the calculated results in accordance with control of the controller 50, and generates an output spectrum from the input spectrum. The phase processor 34 may have the same configuration as the time scale adjusters TSM 1, TSM 2, . . . , and TSM N as shown in FIG. 3A.
The IFFT unit 36 performs IFFT for the spectrum output from the phase processor 34, and converts the spectrum into an audio stream in a time area.
By using a method of processing an audio stream using the SOLA algorithm as described above, the pitch of the audio stream does not change, so the chord intervals remain unchanged. In addition, the method prevents, when each frame is rearranged a time base t′, the location of each frame is discontinuously located, resulting in deteriorating sound quality. However, because the SOLA algorithm uses a method of rearranging an optimum location taking correlation between the two successive frames into consideration, a great deal of calculation time is needed when applying the algorithm to a complex audio stream so that costs for calculations will be raised. Consequently, due to the calculation time, there is difficulty in implementing a real-time time scale modification (TSM) function of an audio playback device.